package com.zjhcsoft.common.service.upload;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;


import com.zjhcsoft.common.object.UploadObj;



public interface FileUploadService {
	/**
	 * 上传普通文件
	 * @param file spring 里的文件类型
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadFile(File file,String model_path) throws IOException;
	/**
	 * 上传普通文件
	 * @param input 普通文件流
	 * @param fileName 文件名
	 * @param model_path 模块路径
	 * @return 文件对象
	 */
	public UploadObj uploadFile(FileInputStream input,String fileName,String model_path) ;
	
	
	/**
	 * 上传图片
	 * @param file spring-file
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(File file,String model_path) throws IOException;
	/**
	 * 上传图片
	 * @param input 普通文件流
	 * @param fileName 文件名
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(FileInputStream input,String fileName,String model_path) throws IOException;
	
	/**
	 * 上传图片
	 * @param file spring-file
	 * @param img_type 上传之后是不是要 缩略图或者截图
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(File file, int img_type,String model_path) throws IOException;
	
	/**
	 * 上传图片
	 * @param FileInputStream input 输入文件流
	 * @param String fileName 文件名称
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(FileInputStream input,String fileName, int img_type,String model_path) throws IOException;
	
	
	
	/**
	 * 上传图片
	 * @param file spring-file
	 * @param x 从x坐标什么地方开始
	 * @param y 从y坐标什么地方开始
	 * @param wid 长度
	 * @param hig 高度
	 * @param img_type 缩略图或者截图
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(File file , int x , int y , int wid, int hig ,int img_type,String model_path) throws IOException;
	
	/**
	 * 上传图片
	 * @param FileInputStream input 输入文件流
	 * @param String fileName 文件名称
	 * @param x 从x坐标什么地方开始
	 * @param y 从y坐标什么地方开始
	 * @param wid 长度
	 * @param hig 高度
	 * @param img_type 缩略图或者截图
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(FileInputStream input,String fileName, int x , int y , int wid, int hig ,int img_type,String model_path) throws IOException;
	
	/**
	 * 上传图片
	 * @param FileInputStream input 输入文件流
	 * @param String fileName 文件名称
	 * @param length 图片尺寸（长度或高度）
	 * @param img_type 缩略图或者截图
	 * @param model_path 模块路径
	 * @return 文件对象
	 * @throws IOException
	 */
	public UploadObj uploadImgFile(FileInputStream input,String fileName,int length,int img_type,String model_path) throws IOException;

}
